package com.efuture.chapterfour

/* @Description: Kotlin语言by laze 惰性加载
 * @Auther: zhaoshanshan
 * @Date: 2022/03/06/11:34 下午
 */
class Demo72 {

    //val dataBaseData:String = getData()//普通方式 不使用by lazy 属于饿汉式

    val dataBaseData2 by lazy { getData() } //by lazy方式 用到的时候才加载 懒汉式


    fun getData():String{
        println("开始加载数据库数据")
        println("加载数据库数据数据中...")
        println("加载数据库数据数据中...")
        println("加载数据库数据数据中...")
        println("加载数据库数据数据中...")
        println("加载数据库数据数据中...")
        println("加载数据库数据数据中...")
        println("加载数据库数据数据中...")
        println("结束数据库数据数据中")
        return "data is load ok"
    }

}

fun main() {

    //普通方式

//    val p = Demo72()
//    Thread.sleep(5000)
//    println(p.dataBaseData)

    //by lazy 方式
   val p = Demo72()
    Thread.sleep(10000)
    println("即将开始使用")
    println(p.dataBaseData2)
}